In a NAND EEPROM flash memory, data is written in units of memory regions of a predetermined size (pages) and erased in block units each consisting of a plurality of continuous pages. The design of the flash memory allows, in addition to the erasure of individual blocks, entire block erasure. Entire block erasure is an operation of collectively erasing the data of all blocks in the flash memory, and is used, for example, during a chip test.
In certain cases, a memory needs to hold information necessary for its operation. Such information includes that specifying the operating voltage or defining alternative circuitry for realizing redundancy. In a dynamic random access memory (DRAM), this operating information is programmed using laser fuses, but in a flash memory, it is programmed in a ROM block. The ROM block is a region allocated, from among all the blocks, to storing the information necessary for the operation of the flash memory. The information in the ROM block is stored in a nonvolatile manner and read during power-up of the flash memory.
The ROM block is only distinguished from the other blocks that store normal data by address. Because targets for entire block erasure also include the ROM block, it is possible to erase the data of the ROM block by entire block erasure. However, since this must not be allowed to happen, a measure to avoid erasing data in the memory cells of the ROM block during entire block erasure is necessary.